package com.xc.common.object;

import lombok.Data;

/**
 * 统一返回值
 *
 * @Author Jerome 小罗
 * @Date 2022/5/20 10.20
 */
@Data
public class R {
    private Object data;
    private int code;
    private String message;
    private boolean success;


    /**
     * 成功返回实体--统一状态码
     *
     * @param data
     * @param message
     * @return
     */
    public static R success(Object data, String message) {
        R r = new R();
        r.setCode(0);
        r.setData(data);
        r.setSuccess(true);
        r.setMessage(message);
        return r;
    }

    /**
     * 成功返回实体--统一状态码
     *
     * @param data
     * @return
     */
    public static R success(Object data) {
        R r = new R();
        r.setCode(0);
        r.setData(data);
        r.setSuccess(true);
        r.setMessage("请求成功");
        return r;
    }

    /**
     * 成功返回实体--统一状态码
     *
     * @param message
     * @return
     */
    public static R success(String message) {
        R r = new R();
        r.setCode(0);
        r.setData(null);
        r.setSuccess(true);
        r.setMessage(message);
        return r;
    }


    /**
     * 失败返回实体
     *
     * @param message
     * @return
     */
    public static R error(String message) {
        R r = new R();
        r.setCode(1);
        r.setData(null);
        r.setSuccess(false);
        r.setMessage(message);
        return r;
    }


    /**
     * 失败返回实体
     *
     * @param message
     * @return
     */
    public static R error(int code, String message) {
        R r = new R();
        r.setCode(code);
        r.setData(null);
        r.setSuccess(false);
        r.setMessage(message);
        return r;
    }
}